Non-volatile memory is employed in a wide variety of electronic devices such as, for example, mobile handsets, cellular phones, personal digital assistants (PDA's), pagers and handheld personal computers. The non-volatile memory in these devices contains firmware, application software, data, and configuration information that makes the devices operational, and may be provided by the manufacturers of the electronic devices, by system operators of telecommunication carrier networks, or by third parties developers. If defects are found in such firmware/software, or if new features are to be added to such devices, the software and/or firmware in the affected electronic devices may need to be updated. Errors and/or interruptions that may occur during the updating of such operational code may leave the electronic device in a partly or completely non-functional state. To avoid this problem, present methods of updating such software and/or firmware involve returning the electronic device to the manufacturer, to the system operator, or to the third party, so that an update of memory contents may be performed using a direct connection to the electronic device. This is both costly and inconvenient to both the user of the electronic device, and to one performing the update.
Configuration parameters and other information for an electronic device may be stored in the non-volatile memory of such devices, and information about the device capabilities, the hardware, software and manufacturer of the device, and particulars for a given instance of the device in a network may be stored in databases used by, for example, device management and customer service operations. Such databases may be accessible to device management and customer service operations through database access mechanisms using, for example, structured query language (SQL) or similar database management tools.
Updates to firmware and/or software in an electronic device may be developed by a number of parties including, for example, the manufacturer of the electronic device, the provider of services of a communication network accessed by the electronic device, or a third party. While the manufacturer and/or third party may be technically qualified and capable of creating workable updates for the firmware and/or software in an electronic device, such updated firmware and/or software may not be planned for or compatible with the services and communication capabilities of the communication network of the service provider. Although the user of the electronic device may have authorization to use the network, an update to the firmware/software of the electronic device may not be authorized for use in electronic device served by the communication network of the service provider.
Different electronic devices have, for example, different resources available, different sets of operating parameters, and the like, that may be changed to support personalization of the electronic device. A user typically has no means to determine what resources and/or parameters are involved in a desired personalization, or how the user is to go about personalizing the phone. Determining which electronic devices are capable of or allow such personalization in a device can be a problem for both users and support staff of communication system/network operators.
Problems occur when the electronic device of a subscriber is not functioning properly. There are many problems that may arise including, for example, outdated software both at the firmware and application level, incorrect setting of various service parameters, and the like. Current support tools used by communication network/system operators are of little help in fixing such problems when they are reported.
Management of an electronic device is difficult to perform without the use of a device management solution such as an automated device management system. The Open Mobile Alliance (OMA)—Device Management (DM) specifications are based on point-to-point transport protocols, such as the hypertext transport protocol (HTTP) and OBject EXchange (OBEX) protocol. However, with 40 million or more devices/users in a large communication network, device management (DM) using point-to-point transport is very inefficient. It is also very demanding in terms of server-side support. Device management (DM) servers such as, for example, those servers supporting the OMA-DM protocol, may be involved in the establishment of millions of DM sessions with electronic devices. Each of the DM sessions is a drain on resources of the communication network.
A user is generally not capable of determining the impact of device management sessions on their electronic device, or on the supporting communication networks. The operators of those supporting communication conduct DM sessions for various reasons. Conducting individual device management sessions for each electronic device is a time consuming and resource intensive operation. It is desirable to minimize the impact of device management activities both on the communication network, and on the use of the electronic device by the user.